package com.ybkj.o2o.sales.service;

import com.ybkj.o2o.sales.entity.ActivityManage;

import java.util.List;


public interface ActivityManageService {

  /**
   * 创建活动信息.
   * 
   * @param activityManage 活动信息内容
   * @return Long
   */
  Long insert(ActivityManage activityManage);

  /**
   * 查询活动信息.
   * 
   * @param companyId 公司id
   * @param chainedAddress 链接地址
   * @param serviceType 业务类型
   * @param sort 排序
   * @param showLocation 显示位置
   * @param offset 页数
   * @param size 每页数量
   * @param appKey 系统key
   * @return List
   */
  List<ActivityManage> selectActivityManage(String companyId, String chainedAddress,
      String serviceType, Long sort, String showLocation, Integer offset, Integer size,
      String appKey);

  /**
   * 查询活动信息.
   * 
   * @param companyId 公司id
   * @param serviceType 业务类型
   * @param offset 页数
   * @param size 每页数量
   * @param appKey 系统key
   * @return List
   */
  List<ActivityManage> selectByCompanyId(String companyId, String serviceType, Integer offset,
      Integer size, String appKey);

  /**
   * 统计活动信息.
   * @param companyId 公司id
   * @param chainedAddress 链接地址
   * @param serviceType 业务类型
   * @param sort 排序
   * @param showLocation 展示位置
   * @param appKey 系统key
   * @return Long
   */
  Long countActivityManage(String companyId, String chainedAddress, String serviceType, Long sort,
      String showLocation, String appKey);

  /**
   * 统计活动信息.
   * @param companyId 公司id
   * @param serviceType 业务类型
   * @param appKey 系统Key
   * @return Long
   */
  Long countByCompanyId(String companyId, String serviceType, String appKey);

  /**
   * 根据id查询.
   * @param id 活动信息id
   * @param appKey 系统key
   * @return ActivityManage
   */
  ActivityManage findOne(Long id, String appKey);

  /**
   * 删除.
   * 
   * @param id 活动信息id
   * @param appKey 系统key
   */
  void delete(Long id, String appKey);

  /**
   * 根据链接地址查询.
   * @param chainedAddress 链接地址
   * @param appKey 系统key
   * @return ActivityManage
   */
  ActivityManage findByChainedAddress(String chainedAddress, String appKey);

  /**
   * 修改活动信息.
   * @param activityManage 活动信息内容
   */
  int update(ActivityManage activityManage);
}
